package com.jiangyg.mall.coupon.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 类描述：优惠券信息
 * 
 * @author jiangyg
 * @email email@jiangyg.com
 * @date 2021-10-18 21:33:06
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode
@TableName("mc_coupon")
public class Coupon implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	@TableId(type = IdType.ASSIGN_ID)
	@TableField("id")
	private Long id;

	/**
	 * 优惠卷类型[0->全场赠券；1->会员赠券；2->购物赠券；3->注册赠券]
	 */
	@TableField("coupon_type")
	private Integer couponType;

	/**
	 * 优惠券图片
	 */
	@TableField("coupon_img")
	private String couponImg;

	/**
	 * 优惠卷名字
	 */
	@TableField("coupon_name")
	private String couponName;

	/**
	 * 数量
	 */
	@TableField("num")
	private Integer num;

	/**
	 * 金额
	 */
	@TableField("amount")
	private BigDecimal amount;

	/**
	 * 每人限领张数
	 */
	@TableField("per_limit")
	private Integer perLimit;

	/**
	 * 使用门槛
	 */
	@TableField("min_point")
	private BigDecimal minPoint;

	/**
	 * 开始时间
	 */
	@TableField("start_time")
	private Date startTime;

	/**
	 * 结束时间
	 */
	@TableField("end_time")
	private Date endTime;

	/**
	 * 使用类型[0->全场通用；1->指定分类；2->指定商品]
	 */
	@TableField("use_type")
	private Integer useType;

	/**
	 * 备注
	 */
	@TableField("note")
	private String note;

	/**
	 * 发行数量
	 */
	@TableField("publish_count")
	private Integer publishCount;

	/**
	 * 已使用数量
	 */
	@TableField("use_count")
	private Integer useCount;

	/**
	 * 领取数量
	 */
	@TableField("receive_count")
	private Integer receiveCount;

	/**
	 * 可以领取的开始日期
	 */
	@TableField("enable_start_time")
	private Date enableStartTime;

	/**
	 * 可以领取的结束日期
	 */
	@TableField("enable_end_time")
	private Date enableEndTime;

	/**
	 * 优惠码
	 */
	@TableField("code")
	private String code;

	/**
	 * 可以领取的会员等级[0->不限等级，其他-对应等级]
	 */
	@TableField("member_level")
	private Integer memberLevel;

	/**
	 * 发布状态[0-未发布，1-已发布]
	 */
	@TableField("publish")
	private Integer publish;


}
